package com.yehun.service;

import com.yehun.entity.PagerEntity;
import com.yehun.entity.Route;

import java.util.List;

public interface RouteService {

    /**
     * 初始化路由
     */
    void initialize();

    /**
     * 获取列表
     * @return List<Route>
     */
    List<Route> listAll();

    /**
     * 获取列表分类
     * @return PagerEntity<Route>
     */
    PagerEntity<Route> listPager(int pageIndex, int pageSize);

    /**
     * 获取一个路由信息
     * @param id 主键
     * @return Route
     */
    Route get(int id);

    /**
     * 获取一个路由信息
     * @param url 链接
     * @return Route
     */
    Route getByUrl(String url);

    /**
     * 添加
     * @param route 路由立体类
     * @return 影响行数
     */
    int save(Route route);

    /**
     * 修改一条数据
     * @param route Route
     * @return 影响行数
     */
    int update(Route route);

    /**
     * 存在则修改,不存在则添加,根据url判断
     * @param route Route
     * @return 影响行数
     */
    int merge(Route route);

    /**
     * 删除
     * @param ids 主键数组
     * @return 影响行数
     */
    int remove(Integer[] idArray);

}
